using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace facadeexample { public class CarModel { public void SetModel() { Console.WriteLine("CarModel - SetModel"); } } public class CarEngine { public void SetEngine() { Console.WriteLine("CarEngine - SetEngine"); } } public class CarBody { public void SetBody() { Console.WriteLine("CarBody - SetBody"); } } public class CarAccessories { public void SetAccessories() { Console.WriteLine("CarAccessories - SetAccessories"); } } public class CarFacade { CarModel model; CarEngine engine; CarBody body; CarAccessories accessories; public CarFacade() { model = new CarModel(); engine = new CarEngine(); body = new CarBody(); accessories = new CarAccessories(); } public void CreateCompleteCar() { Console.WriteLine("**** Creating a Car ****"); model.SetModel(); engine.SetEngine(); body.SetBody(); accessories.SetAccessories(); Console.WriteLine("*** Car creation complete ***"); } } class Program { static void Main(string[] args) { CarFacade facade = new CarFacade(); facade.CreateCompleteCar(); } } }